home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / bipl.zip / PROCS.ZIP / GAUSS.ICN < prev    next >
Text File  |  1992-09-28  |  1KB  |  41 lines

  1. ############################################################################
  2. #
  3. #    File:     gauss.icn
  4. #
  5. #    Subject:  Procedures to compute Gaussian distributions
  6. #
  7. #    Author:   Stephen B. Wampler
  8. #
  9. #    Date:     September 19, 1991
  10. #
  11. ###########################################################################
  12. #
  13. #   gauss_random(x, f) produces a Gaussian distribution about the value x.
  14. #   The value of f can be used to alter the shape of the Gaussian
  15. #   distribution (larger values flatten the curve...)
  16. #
  17. ############################################################################
  18.  
  19. procedure gauss_random(x, f)
  20.  
  21.    /f := 1.0        # if f not passed in, default to 1.0
  22.  
  23.    return gauss() * f + x
  24.  
  25. end
  26.  
  27. #   Produce a random value within a Gaussian distribution
  28. #   about 0.0.  (Sum 12 random numbers between 0 and 1,
  29. #   (expected mean is 6.0) and subtract 6 to center on 0.0
  30.  
  31. procedure gauss()
  32.    local v
  33.  
  34.    v := 0.0
  35.  
  36.    every 1 to 12 do v +:= ?0
  37.  
  38.    return v - 6.0
  39.  
  40. end
  41.